1. Technical Field
The present invention generally relates to periodic or recurrent program execution in data processing systems and in particular to reconciling periodic or recurrent program execution in a data processing system with a user calendar for the user of the data processing system. Still more particularly, the present invention relates to employing a user calendar to induce scheduling of program or system activities in a data processing system.
2. Description of the Related Art
Current technology for performing periodic operations such as recurrent downloads, data backups, or virus scans on personal computers is accomplished utilizing a scheduler program. The scheduler program typically takes as input the desired frequency of an operation, and is launched on startup to run in the background. Utilizing the system time and date settings, the scheduler determines whether the specified period has elapsed and, if so, begins execution of the corresponding task.
Once scheduled, the execution of a periodic task normally takes place without regard to the way in which the machine is currently being utilized, or to the behavior of the end-user. For example, a typical daily download of a web newspaper may take place on every weekday in the morning, but not on weekends. If the user is travelling on business during the week, the scheduler still initiates executions of the program to download the newspaper even though there is nobody to read the download.
Another example entails performing a virus scan at predetermined intervals, such as weekly. Typically, the virus scan is performed without regard to machine usage. Thus, if the machine has been powered off when the appropriate interval elapses, the virus scan may run a few minutes after the system is next powered on. If the user is utilizing the machine at the time (which is likely), the virus scan, even running in the background, consumes processor cycles which could be allocated to the user""s task instead, degrading performance for the duration of the virus scan.
Other problems also attend current periodic execution techniques. Unnecessarily running certain programs such as periodic downloads and backups adds unneeded network traffic. Leaving systems running solely for the purpose of executing scheduled programs such as virus scans, downloads, or backups is energy wasteful. Diagnostic messages popping up during scheduled execution of an operation when the user is away merely suspend the system since nobody is present to respond or manually intervene and take corrective action.
It would be desirable, therefore, to enable different action to be taken when the user is away and unavailable or utilizing the system than if the user were available and the system were idle.
It is therefore one object of the present invention to provide improved periodic or recurrent program execution in data processing systems.
It is another object of the present invention to provide reconciliation of periodic or recurrent program execution in a data processing system with a user calendar for the user of the data processing system.
It is yet another object of the present invention to provide a method of employing a user calendar to induce scheduling of program or system activities in a data processing system.
The foregoing objects are achieved as is now described. A user""s calendar program is configured to xe2x80x9cinducexe2x80x9d execution of scheduled programs or system activities. Utilizing a scheduler program, the user can configure the system to run certain recurring tasks but control system operation with varying results based on the controlling inducement factors received from the calendar program. When creating an event or activity entry in the calendar program, the user associates an inducement value with that entry, On the date of the entry, the scheduler program, before initiating execution of any scheduled tasks, obtains the inducement value(s) for that date. The inducement value(s) are logically combined with execution values to control execution of scheduled tasks. For instance, is a user is attending a remote conference, a recurring task for system backup and virus scanning will run on a different schedule than if the user is actively using the machine on a daily basis between backups, while if the user is on vacation, system pop-ups and dialogs for an application may not be executed.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.